// import Vue from 'vue'
// import Vuex from 'vuex'
// import getters from './getters'
// import app from './modules/app'
// import settings from './modules/settings'
// import user from './modules/user'

// Vue.use(Vuex)


// const store = new Vuex.Store({
//   modules: {
//     app,
//     settings,
//     user
//   },
//   getters
// })

// export default store
import Vue from 'vue';
import Vuex from 'vuex';
import getters from './getters';
import app from './modules/app';
import settings from './modules/settings';
import user from './modules/user';

Vue.use(Vuex);

const modulesFiles = require.context('./modules', true, /\.js$/);
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1');
  const value = modulesFiles(modulePath);
  modules[moduleName] = value.default;
  modules[moduleName].namespaced = true; // 打开命名空间
  return modules;
}, {});

const store = new Vuex.Store({
  modules,
  state: {
    // 在这里定义根状态
    
  },
  mutations: {
    // 在这里定义根 mutations
    setCollapsed(state, value) {
      // 可以在这里修改根状态
    },
  },
  actions: {
    // 在这里定义根 actions
    getUserdata({ commit }) {
      // 可以在这里分发 actions
    },
  },
  getters,
});

export default store;

